In the figure below, $ABCD$ is a square piece of paper 6 cm on each side. Corner $C$ is folded over so that it coincides with $E$, the midpoint of $\overline{AD}$. If $\overline{GF}$ represents the crease created by the fold such that $F$ is on $CD,$ what is the length of $\overline{FD}$? Express your answer as a common fraction. [asy]
import geometry;
size(150);
pair A = (0,0), B = (0,1), C = (1,1), D = (1,0);
path square = A--B--C--D--cycle;
draw(square);
label("A",A,SW); label("B",B,NW); label("C",C,NE); label("D",D,SE);
pair E = midpoint(A--D);
line CE = line(C,E);
pair X = midpoint(C--E); line FG = perpendicular(X,CE);

pair[] intwithsquare = intersectionpoints(FG,square);
pair G = intwithsquare[0];
pair F = intwithsquare[1];
draw(F--G,dashed);
label("F",F,E);
label("G",G,W);
[/asy]
Answer: Notice that after folding the paper, $\overline{CF}$ becomes $\overline{EF}$ (we are basically reflecting the segment across the crease line). If $FD=x$, then $CF=EF=6-x$. Angle $FDE$ is a right angle since $ABCD$ is a square, so $\triangle FDE$ is a right triangle. We also know the length of $\overline{ED}$ is $3$ since $E$ is the midpoint of $\overline{AD}$. By the Pythagorean Theorem, $(6-x)^2=x^2+3^2$ and we can solve for $x$. \begin{align*}
(36-12x+x^2)&=x^2+9\quad\Rightarrow\\
36-12x&=9\quad\Rightarrow\\
27&=12x\quad\Rightarrow\\
\frac{9}{4}&=x
\end{align*} The length of $\overline{FD}$ is $\boxed{\frac94}$ cm.

[asy]
import geometry;
size(150);
pair A = (0,0), B = (0,1), C = (1,1), D = (1,0);
path square = A--B--C--D--cycle;
draw(square);
label("A",A,SW); label("B",B,NW); label("C",C,NE); label("D",D,SE);
pair E = midpoint(A--D);
line CE = line(C,E);
pair X = midpoint(C--E); line FG = perpendicular(X,CE);

pair[] intwithsquare = intersectionpoints(FG,square);
pair G = intwithsquare[0];
pair F = intwithsquare[1];
draw(F--G,dashed);
draw(C--E);
label("F",F,E);
label("G",G,W);
label("E", E, S);
draw(F--E);
label("$3$", (E+D)/2, S);
label("$x$", (F+D)/2, E);
label("$6-x$", (F+C)/2, E);
label("$6-x$", (F+E)/2, fontsize(8));
draw(rightanglemark(C,D,E,2));
[/asy]